package student

import (
	"fmt"
	"os"
	"strconv"
	"time"
	database "wdc/databaas"
)

func GetMoney(chengben float32, shijian int) (yingye float32, yuanyin string, kaixin bool) {
	yingye = 0
	if chengben < 100 {
		if shijian > 12 {
			yingye = chengben * 6
			yingye = yingye + float32(shijian)*6
			return yingye, "时间充足", true
		} else {
			yingye = chengben * 5
			return yingye, "时间略少", false
		}
	} else if chengben < 500 {
		yingye = chengben * 5
		return yingye, "缺少时间", false
	} else if chengben >= 500 {
		yingye = chengben * 9
		return yingye, "成本充足", true
	}
	return yingye, "不知道原因", true
}

//   生日祝福
// func BirthdayBlessing() {

// 	for {
// 		var allTodayStudents []Classmates
// 		sqlstr := fmt.Sprintln("SELECT * FROM classmates.classmates  WHERE birthday LIKE ='%-?-?%'", int(time.Now().Month()), int(time.Now().Day()))

// 		fmt.Println("执行sql是:", sqlstr)
// 		var allEmails []string
// 		for _, student := range allTodayStudents {

//				allEmails = append(allEmails, student.Email)
//			}
//			fmt.Println("happy", allEmails)
//			email.SendQQEmail(allEmails, "生日快乐")
//			fmt.Println("ok")
//			time.Sleep(time.Hour * 24)
//		}
//	}
//
// 文件夹
func SaveStudentRecords() {
	// 睡觉
	time.Sleep(time.Second * 10)
	var allStudents []database.Classmates
	database.DB.Raw("select * from classmates.classmates").Scan(&allStudents)
	for _, stu := range allStudents {
		// mkdir -p
		mulu := "E:/class2/" + strconv.Itoa(stu.Classid)
		cuowu := os.MkdirAll(mulu, os.ModeDir)
		if cuowu != nil {
			fmt.Println("创建目录的时候出错， 错误信息是:", cuowu)
			return
		}
		fmt.Println("创建的目录是:", mulu+"/"+stu.Sn+stu.Name+".txt")
		currentFile, err := os.Create(mulu + "/" + stu.Sn + stu.Name + ".txt")
		if err != nil {
			fmt.Println("创建文件失败，原因是:", err)
			return
		}
		fmt.Println("正在处理" + stu.Name + "的数据,请耐心等待... \n")
		var thisStudentRecords []database.Records
		database.DB.Raw("SELECT  * FROM  classmates.records WHERE  sn =? ", stu.Sn).Scan(&thisStudentRecords)
		currentFile.WriteString("面向对象程序设计的考勤记录 \n")
		for _, record := range thisStudentRecords {
			currentFile.WriteString(record.Name + record.Createtime.String() + record.Comments + "\n")
		}
		currentFile.WriteString(" 以上就是该同学的所有考勤记录。 登记时间是:" + time.Now().String())
		currentFile.Close()
	}
}

// func ReadFile()  {

// 	thisFile , err := os.OpenFile("E:/class2/202220223005汪登灿.txt" os.O_ROWR , 0755)
// 	if err != nil {
// 		fmt.Println("在打开文件的时候,出错,错误是:"  ,err)
// 		return
// 	}
// 	var neirong [] byte = make([]byte ,100000)
// 	thisFile.Read(neirong)
// 	fmt.println("什么" , string(neirong))

// }

// 文件
func ReadFile() {
	thisFile, err := os.OpenFile("E:/class2/2/202220223005汪登灿.txt", os.O_RDWR, 0755)
	if err != nil {
		fmt.Println("在打开文件的时候，出错，错误是:", err)
		return
	}
	var neirong []byte = make([]byte, 645)
	thisFile.Read(neirong)
	fmt.Println("读出来的内容是:", string(neirong))
	thisFile.WriteString(" 我已经检查过你的作业")
	thisFile.WriteString("是")
	thisFile.Close()
	err = os.Remove("E:/class2/2/202220222883李贤涛.txt")
	if err != nil {
		fmt.Println("删除文件的时候出错", err)
		return
	}
	fmt.Println("已经被删除了")
	// rename 可以改名 ，剪切到其他盘
	err = os.Rename("E:/class2/2/202220222884李杰航.txt", "E:/class2/2/202220222884李杰航.txt")
	if err != nil {
		fmt.Println("改名的时候出错  ", err)
		return
	}
	fmt.Println("已经被改名了")
	os.Mkdir("e:/go1", 0755)
	os.MkdirAll("e:/go1/go2", 0755)
	time.Sleep(time.Minute * 10)

}

// 目录操作
func OpenDir() {
	var dir string
	fmt.Println("请输入你要打开发的目录")
	fmt.Scanln(&dir)
	dirfile, err := os.Open(dir)
	if err != nil {
		fmt.Println("打开失败,", err)
		return
	}
	studentFiles, err := dirfile.ReadDir(50)
	if err != nil {
		fmt.Println("读取失败", err)
		return
	}
	for _, file := range studentFiles {
		fileinfo, _ := file.Info()
		if time.Now().Add(-time.Hour * 24 * 3).After(fileinfo.ModTime()) {
			fmt.Println("这是一个比较老的文件")
		} else {
			fmt.Println("这是一个3天内被修改的文件")
			fmt.Println(file.Name(), "文件大小:", fileinfo.Size(), "修改时间:", fileinfo.ModTime(), fileinfo.Mode())
		}

	}
}
